package com.infocollect.project.grant.mapper;

import java.util.List;
import com.infocollect.project.grant.domain.GrExaminerScene;
import com.infocollect.project.grant.domain.GrExaminerSceneNew;
import org.apache.ibatis.annotations.Param;

/**
 * 人员签到Mapper接口
 *
 * @author infocollect
 * @date 2022-05-14
 */
public interface GrExaminerSceneMapper
{

    /**
     * 查询人员签到
     *
     * @param id 人员签到ID
     * @return 人员签到
     */
    public GrExaminerScene selectGrExaminerSceneById(Long id);

    /**
     * 查询人员签到列表
     *
     * @param grExaminerScene 人员签到
     * @return 人员签到集合
     */
    public List<GrExaminerScene> selectGrExaminerSceneList(GrExaminerScene grExaminerScene);

    /**
     * 查询人员签到列表
     *
     * @param grExaminerScene 人员签到
     * @return 人员签到集合
     */
    public List<GrExaminerSceneNew> selectSignedToListNew(GrExaminerSceneNew grExaminerScene);
    /**
     * 查询人员签到记录
     *
     * @param id 人员签到
     * @return 人员签到集合
     */
    public GrExaminerSceneNew selectSignedNewForId(Long id);
    /**
     * 新增人员签到
     *
     * @param grExaminerScene 人员签到
     * @return 结果
     */
    public int insertGrExaminerScene(GrExaminerScene grExaminerScene);

    /**
     * 修改人员签到
     *
     * @param grExaminerScene 人员签到
     * @return 结果
     */
    public int updateGrExaminerScene(GrExaminerScene grExaminerScene);

    /**
     * 删除人员签到
     *
     * @param id 人员签到ID
     * @return 结果
     */
    public int deleteGrExaminerSceneById(Long id);

    /**
     * 批量删除人员签到
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteGrExaminerSceneByIds(Long[] ids);

    Long queryByFourId(@Param("grantId") Long grantId,  @Param("idcard") String idcard, @Param("examinerPointId") Long examinerPointId);

    GrExaminerScene queryByThreeId(@Param("grantId") Long grantId, @Param("examinerPointId") Long examinerPointId, @Param("sceneId") Long sceneId , @Param("examinerId") Long examinerId);

}
